"""
总结：
比如说三数之和：
        1. 长度<3,的要考虑
        2. 对原数组进行排序
        3. 三数之和利用双指针的方法，需要两层循环
        for i in range(n):
            如果当前元素和前一个元素相等则后移
            定义双指针
            while L < R:
                考虑目标值==三数之和
                    此时，加入res
                    需要根据情况后移L,R
                考虑目标值<三数之和

                考虑目标值<三数之和

        4. 返回结果

比如说四数之和：
        1. 长度<4,的要考虑
        2. 对原数组进行排序
        3. 四数之和利用双指针的方法，需要两层循环
        for i in range(n):
            如果当前元素和前一个元素相等则后移 i > 0
            for j in range(i + 1, n):
                如果当前元素和前一个元素相等则后移 j > i + 1

                定义双指针
                while L < R:
                    考虑目标值==四数之和
                        此时，加入res
                        需要根据情况后移L,R
                    考虑目标值<四数之和

                    考虑目标值<四数之和

        4. 返回结果
"""